package com.guangdujs.kis.mapper;

import java.math.BigDecimal;
import java.util.List;
import java.util.Map;

import com.guangdujs.common.annotation.DataSource;
import com.guangdujs.common.enums.DataSourceType;
import com.guangdujs.kis.domain.Vwicbill32;
import com.guangdujs.kis.domain.vo.PieChartData;
import org.springframework.stereotype.Repository;

/**
 * 销售订单Mapper接口
 */
@Repository
@DataSource(value = DataSourceType.SLAVE)
public interface Vwicbill32Mapper
{
    /**
     * 查询销售订单列表
     * AND CONVERT(varchar(100), FBillDate, 112) >= CONVERT(varchar(100), DATEADD(mm, DATEDIFF(mm,0,getdate()), 0), 112)
     */
    List<Vwicbill32> selectVwicbill32List(Vwicbill32 vwicbill32);

    /**
     * 根据时间范围和条件获取总金额
     */
    BigDecimal selectAllAmount(Vwicbill32 vwicbill32);

    // 1、当日销售额
    BigDecimal selectTodayMoney();
    // 2、当月销售额
    BigDecimal selectOneMonthMoney();
    // 3、当季销售额
    BigDecimal selectQuarterMoney();
    // 4、当年销售额
    BigDecimal selectYearMoney();

    /**
     * 根据时间范围总金额
     */
    BigDecimal selectScopeMoney(String beginTime, String endTime);


    BigDecimal selectMonthMoney(String beginTime);

    /**
     * 根据时间范围获取客户名称列表
     */
    List<String> selectFcustidnameList(Vwicbill32 vwicbill32);

    /**
     * 根据时间范围获取负责人列表
     */
    List<String> selectFmangeridnameList(Vwicbill32 vwicbill32);

    /**
     * 根据时间范围获取业务员列表
     */
    List<String> selectFempidnameList(Vwicbill32 vwicbill32);

    /**
     * 根据时间范围获取产品名称列表
     */
    List<String> selectFitemnameList(Vwicbill32 vwicbill32);

    // 获取当年销售额前10的药品名称
    List<PieChartData> selectTopFItemNames();

    // 获取当年销售额前10的客户名称
    List<PieChartData> selectTopFCustIDNames();

    // 获取当年销售额前10的省份
    List<PieChartData> selectTopProvince();
}
